from langchain.chat_models import init_chat_model
from langchain.output_parsers import BooleanOutputParser
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

prompt_template = ChatPromptTemplate([
    ("system","你是一个乐于助人的助手，，请根据用户的问题给出答案。"),
    ("user","这是用户的问题： {topic}，请用yes或no来回答")
])
model = init_chat_model(model="deepseek-chat",model_provider="deepseek")
chain = prompt_template | model | StrOutputParser()

#print(prompt_template.format_prompt({"topic":"请问 1 + 1 是否大于 2 ？"}).to_json())

mode = 1
#方式一
if mode == 1:
    result = chain.invoke({"topic":"请问 4 + 1 是否大于 2 ？"})
elif mode == 2:
    result = chain.invoke("请问 4 + 1 是否大于 2 ？")
else:
    result = None
print(result)


chain = prompt_template | model | BooleanOutputParser()
result = chain.invoke("请问 4 + 1 是否大于 2 ？")
print(result)